﻿using System;
using System.Runtime.InteropServices;

namespace Valve.VR
{
	// Token: 0x0200068D RID: 1677
	public struct IVRTrackedCamera
	{
		// Token: 0x040029E9 RID: 10729
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum;

		// Token: 0x040029EA RID: 10730
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._HasCamera HasCamera;

		// Token: 0x040029EB RID: 10731
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetCameraFrameSize GetCameraFrameSize;

		// Token: 0x040029EC RID: 10732
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetCameraIntrinsics GetCameraIntrinsics;

		// Token: 0x040029ED RID: 10733
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetCameraProjection GetCameraProjection;

		// Token: 0x040029EE RID: 10734
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._AcquireVideoStreamingService AcquireVideoStreamingService;

		// Token: 0x040029EF RID: 10735
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._ReleaseVideoStreamingService ReleaseVideoStreamingService;

		// Token: 0x040029F0 RID: 10736
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer;

		// Token: 0x040029F1 RID: 10737
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetVideoStreamTextureSize GetVideoStreamTextureSize;

		// Token: 0x040029F2 RID: 10738
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetVideoStreamTextureD3D11 GetVideoStreamTextureD3D11;

		// Token: 0x040029F3 RID: 10739
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._GetVideoStreamTextureGL GetVideoStreamTextureGL;

		// Token: 0x040029F4 RID: 10740
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRTrackedCamera._ReleaseVideoStreamTextureGL ReleaseVideoStreamTextureGL;

		// Token: 0x0200068E RID: 1678
		// (Invoke) Token: 0x06002A32 RID: 10802
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError);

		// Token: 0x0200068F RID: 1679
		// (Invoke) Token: 0x06002A36 RID: 10806
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera);

		// Token: 0x02000690 RID: 1680
		// (Invoke) Token: 0x06002A3A RID: 10810
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize);

		// Token: 0x02000691 RID: 1681
		// (Invoke) Token: 0x06002A3E RID: 10814
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter);

		// Token: 0x02000692 RID: 1682
		// (Invoke) Token: 0x06002A42 RID: 10818
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection);

		// Token: 0x02000693 RID: 1683
		// (Invoke) Token: 0x06002A46 RID: 10822
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle);

		// Token: 0x02000694 RID: 1684
		// (Invoke) Token: 0x06002A4A RID: 10826
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera);

		// Token: 0x02000695 RID: 1685
		// (Invoke) Token: 0x06002A4E RID: 10830
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);

		// Token: 0x02000696 RID: 1686
		// (Invoke) Token: 0x06002A52 RID: 10834
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetVideoStreamTextureSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref VRTextureBounds_t pTextureBounds, ref uint pnWidth, ref uint pnHeight);

		// Token: 0x02000697 RID: 1687
		// (Invoke) Token: 0x06002A56 RID: 10838
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetVideoStreamTextureD3D11(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);

		// Token: 0x02000698 RID: 1688
		// (Invoke) Token: 0x06002A5A RID: 10842
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _GetVideoStreamTextureGL(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, ref uint pglTextureId, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);

		// Token: 0x02000699 RID: 1689
		// (Invoke) Token: 0x06002A5E RID: 10846
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRTrackedCameraError _ReleaseVideoStreamTextureGL(ulong hTrackedCamera, uint glTextureId);
	}
}
